package com.springboot.springbootredis.distribute.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @Author: TongRui乀
 * @Date: 2019/1/25 16:25
 * @description： 分布式锁的锁注解
 */

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
@Inherited
public @interface CacheLock {

    /**
     *  key 前缀
     * @return
     */
    String prefix() default "";

    /**
     *  过期时间
     * @return
     */
    int expire() default 5;

    /**
     *  时间单位
     * @return
     */
    TimeUnit timeUnit() default TimeUnit.SECONDS;

    /**
     *  分隔符
     * @return
     */
    String delimiter() default ":";
}
